不要害怕使用 IPv6,它與 IPv4 并沒有太大的不同。
IPv6 基礎(chǔ)知識
初看 IPv6 可能會讓人不知所措,但實(shí)際上,尋址方案與 IPv4 完全相同。例如,可以將 IPv4 地址寫為 FFFF:FFFF,相當(dāng)于 255.255.255.255。相反,我們可以將 IPv6 地址寫為 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255,即 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。
與 IPv4 中的 32 位相比,這是 128 位的地址空間。這相當(dāng)于前所未有的地址數(shù)量。這意味著已知宇宙中每顆可觀測恒星都有超過 250 個(gè)地址。因此,除非我們不必要地浪費(fèi)它們,否則使用它們需要一段時(shí)間。在我們填充其他星球之前,我無法想象我們會使用所有這些地址空間,即使我們給世界上的每一粒沙子一個(gè) IP 地址。
那么為什么 IPv6 是十六進(jìn)制格式呢?快速搜索會顯示幾個(gè)不同的答案,但對我來說,它比 16 個(gè)數(shù)字更容易連接和閱讀。例如,如果大量地址空間為零,則可以連接 1234::5678:1。如果這只能執(zhí)行一次,1234::1::45 是無效的。就像在 IPv4 中可以省略前導(dǎo)零一樣,但是,我發(fā)現(xiàn)將其全部寫出來更容易:
2001:1850:1:0:104::8a 也是 2001:1850:0001:0000:0104:0000:0000:008a
也可以是 2001:1850:1:0:104:0:0:8a
這看起來很混亂,所以在做筆記或準(zhǔn)備政策時(shí)把它全部寫出來(把所有的零都寫下來)將有助于更好地理解它。
IPv6 是另一個(gè)地址族和另一個(gè)協(xié)議,這意味著它是一組完全獨(dú)立的路由和鄰接表,甚至是它自己的以太網(wǎng)幀類型。這通常意味著 IPv6 完全獨(dú)立于 IPv4,甚至不知道 IPv4 的存在。在現(xiàn)有的 IPv4 網(wǎng)絡(luò)上,將在每臺設(shè)備上創(chuàng)建一個(gè)新的 IPv6 網(wǎng)絡(luò),就像設(shè)置一個(gè)全新的網(wǎng)絡(luò)安裝一樣。考慮一下服務(wù)器,IPv4 默認(rèn)網(wǎng)關(guān)不適用于 IPv6,即使它可能是相同的 MAC 地址,IPv6 必須單獨(dú)設(shè)置。
除了尋址方案和十六進(jìn)制之外,IPv6 在子網(wǎng)劃分和路由方面與 IPv4 完全相同。子網(wǎng)仍然是子網(wǎng),IPv4 中的 /24 只是 IPv6 中的 /120,相同數(shù)量的 IP 地址。在路由的底層,IPv6 確實(shí)有一些提高路由性能的技術(shù)變化,例如更簡單的標(biāo)頭格式。
可是等等!您閱讀了有關(guān) IPv6 的信息,它說它應(yīng)該是 /64 的最小子網(wǎng)?這是真的,但不是真的,就像 IPv4 中最小的子網(wǎng)在變?yōu)闊o類 (CIDR) 之前是“C 類”一樣。然而,選擇 /64 是有原因的,并且有一個(gè) RFC 來支持它。IPv6 的某些功能目前需要 /64,將來可能不需要。
問答集錦
那么,IPv6 中沒有 NAT 嗎?
好吧,雖然完全可以進(jìn)行地址轉(zhuǎn)換,但由于可用地址的數(shù)量,沒有必要這樣做。只需要一個(gè)有狀態(tài)的防火墻。
鄰居分辨率怎么樣?
在 IPv4 中,我們將其稱為 ARP。這是 IPv6 與 IPv4 工作方式的根本區(qū)別。雖然這對協(xié)議的功能(例如,使用 TCP 或 UDP 或 ICMP 等)沒有任何功能差異,但它確實(shí)改變了它形成鄰接/鄰居的方式。IPv6 中不存在 ARP,而是稱為鄰居發(fā)現(xiàn),它使用 ICMP。我們中的許多人現(xiàn)在可能已經(jīng)習(xí)慣了過濾 ICMP,因?yàn)樗?IPv6 發(fā)現(xiàn)鄰居以及 IPv6 協(xié)議本身的實(shí)際操作中起著重要作用。
例如,分片僅由 IPv6 中的端點(diǎn)(主機(jī)相互通信)執(zhí)行,而不由其間的任何路由器執(zhí)行。ICMP 用于確定是否需要對數(shù)據(jù)包進(jìn)行分段。這是一個(gè) ICMP“類型 2”IPv6 數(shù)據(jù)包。鄰居發(fā)現(xiàn)完全由 ICMP 通過多播和單播完成。IPv6 不使用廣播!IPv6 子網(wǎng)中沒有“廣播”IP 或“網(wǎng)絡(luò)”IP 地址。與 IPv4 不同,最后一個(gè) IP 可用。
鏈接本地IP?
等等,我們在 IPv4 中看到了這些 169.254.xx IP,但只有在極少數(shù)情況下才會使用它們。它們在 IPv6 中如何使用?這是與 IPv4 的主要區(qū)別!這也是一個(gè)令人討厭的區(qū)別。它確實(shí)改變了事物的運(yùn)作方式以及需要放置哪些過濾器。鏈路本地 IP 在 FE80::/10 范圍內(nèi),除非另有說明,否則由設(shè)備在其接口上自動(dòng)配置。此 IP 范圍在所有路由設(shè)備上都被指定為不可路由且不應(yīng)轉(zhuǎn)發(fā),因此僅命名為本地鏈接或 LAN。這意味著每個(gè) IPv6 接口都將至少配置兩個(gè)IP 地址,用于 LAN 外部的連接。您可能已經(jīng)注意到啟用了 IPv6 但尚未配置 IP 地址的服務(wù)器上的鏈接本地 IP。這個(gè)是正常的。
服務(wù)質(zhì)量?
IPv6 QoS 與 IPv4 完全一樣,除了 IPv6 在報(bào)頭中添加了一個(gè)新的流標(biāo)簽字段以幫助標(biāo)記流和流量類別指定。由于目前這被廣泛使用,因此不值得在這里討論,但無論如何都要注意它的不同之處。
IPv6 的安全性?
這里與 IPv4 沒有真正的區(qū)別,盡管它內(nèi)置了對 IPSEC 的支持,但在所有情況下都不能指望這一點(diǎn)(例如,鄰居發(fā)現(xiàn)仍然使用 ICMP,ICMP 消息仍然需要發(fā)送到未加密的主機(jī))。IPSEC 也可用于 IPv4。IPv6 鄰居發(fā)現(xiàn)對某些人來說不如 ARP 安全。雖然過濾要復(fù)雜得多,但安全差異可以忽略不計(jì)。
這對系統(tǒng)管理員和防火墻管理員意味著什么?
對于服務(wù)器上的 IPv6,主要區(qū)別在于鄰居分辨率。某些 ICMP 類型 (133-137) 需要在允許鄰居解析工作的防火墻中被允許。這些 ICMP 消息也應(yīng)該允許 FE80::/10。您不能簡單地將除目標(biāo) IPv6 IP 之外的所有內(nèi)容過濾到服務(wù)器,還必須允許本地鏈接。
如果您想知道為什么將 IPv6 添加到服務(wù)器時(shí)似乎損壞了,請檢查防火墻。防火墻管理員應(yīng)該至少允許類型 1-4(錯(cuò)誤消息)和 128-129(回聲),以允許正確操作和 ping 測試。在下一篇博客中,我們將深入討論 DHCPv6、DHCP-PD、移動(dòng)性和隱私擴(kuò)展、IPV6 報(bào)頭分解、多播、鄰居發(fā)現(xiàn)、SLAAC、SEND、IPSEC。
TL;DR IPv6 與 IPv4 之間的差異:
- 128 位地址與 32 位地址
- 不同的以太網(wǎng)幀類型 (0x86DD) [IPv4 為 0x0800]
- 沒有廣播或網(wǎng)絡(luò)地址
- 十六進(jìn)制而不是十進(jìn)制表示法
- IPv6 中沒有 ARP 將 ICMPv6 鄰居請求與多播一起使用
- 使用由硬件 id(從 MAC 地址派生)自動(dòng)分配的鏈路本地 IP 地址(不可路由)來進(jìn)行鄰居發(fā)現(xiàn)、自動(dòng)配置的通信
- 內(nèi)置多播
- IPv6不需要IPv4運(yùn)行也不會干擾IPv4運(yùn)行,應(yīng)該這樣對待:意思是:在服務(wù)器上,IPv6會有自己的地址、網(wǎng)關(guān)、掩碼等。
- 盡管可以代理,但您不能直接 NAT IPv4 到 IPv6 或 IPv6 到 IPv4 **
- 對于 DNS,IPv6 是 AAAA 而不是 A,反向是 IP6.arpa(請參閱下面的 DNS 部分)
- Jumbo JUMBO JUMBO 數(shù)據(jù)報(bào),我提到過 Jumbo 嗎?窗口大小的 32 位數(shù)字(4 gig!)
- 路由器對 MTU 錯(cuò)誤響應(yīng)的 ICMP 回復(fù)
- 標(biāo)頭校驗(yàn)和已從頂級 IP 級別中刪除(認(rèn)為不必要,但我不同意)
- 移動(dòng)性和隱私擴(kuò)展
- 帶 DHCP-PD 的 DHCPv6(前綴委托)